@@ -20,12 +20,13 @@ from coupon.models import CouponInfo, UserCouponInfo  | 
            ||
| 20 | 20 | 
                from integral.models import SaleclerkSubmitLogInfo  | 
            
| 21 | 21 | 
                from logs.models import ComplementCodeLogInfo, MchInfoEncryptLogInfo  | 
            
| 22 | 22 | 
                from mch.models import AdministratorInfo, BrandInfo, ConsumeInfoSubmitLogInfo, DistributorInfo, ModelInfo  | 
            
| 23 | 
                -from member.models import GoodsInfo, GoodsOrderInfo, MemberActivityGroupShareInfo, MemberActivityInfo, MemberActivitySignupInfo  | 
            |
| 24 | 
                -from pre.custom_message import sendwxasubscribemessage, sendtemplatemessage  | 
            |
| 23 | 
                +from member.models import (GoodsInfo, GoodsOrderInfo, MemberActivityGroupShareInfo, MemberActivityInfo,  | 
            |
| 24 | 
                + MemberActivitySignupInfo)  | 
            |
| 25 | 
                +from pre.custom_message import sendtemplatemessage, sendwxasubscribemessage  | 
            |
| 25 | 26 | 
                from statistic.models import ConsumeModelSaleStatisticInfo, ConsumeSaleStatisticInfo, ConsumeUserStatisticInfo  | 
            
| 26 | 27 | 
                from utils.error.errno_utils import (AdministratorStatusCode, ComplementCodeStatusCode, ProductBrandStatusCode,  | 
            
| 27 | 28 | 
                ProductCouponStatusCode, ProductMachineStatusCode, UserStatusCode)  | 
            
| 28 | 
                -  | 
            |
| 29 | 
                +  | 
            |
| 29 | 30 | 
                 | 
            
| 30 | 31 | 
                WECHAT = settings.WECHAT  | 
            
| 31 | 32 | 
                 | 
            
                @@ -831,6 +832,7 @@ def member_goods_order_update(request):  | 
            ||
| 831 | 832 | 
                 | 
            
| 832 | 833 | 
                return response(200, 'Member Goods Order Update Success', u'会员商品订单修改成功')  | 
            
| 833 | 834 | 
                 | 
            
| 835 | 
                +  | 
            |
| 834 | 836 | 
                def member_goods_order_batch_update(request):  | 
            
| 835 | 837 | 
                     brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
               | 
            
| 836 | 838 | 
                     admin_id = request.POST.get('admin_id', '')
               | 
            
                @@ -843,10 +845,9 @@ def member_goods_order_batch_update(request):  | 
            ||
| 843 | 845 | 
                administrator = AdministratorInfo.objects.get(admin_id=admin_id, user_status=AdministratorInfo.ACTIVATED, status=True)  | 
            
| 844 | 846 | 
                except AdministratorInfo.DoesNotExist:  | 
            
| 845 | 847 | 
                return response(AdministratorStatusCode.ADMINISTRATOR_NOT_FOUND)  | 
            
| 846 | 
                -  | 
            |
| 848 | 
                +  | 
            |
| 847 | 849 | 
                err_orders = []  | 
            
| 848 | 850 | 
                for order in orders:  | 
            
| 849 | 
                - print order  | 
            |
| 850 | 851 | 
                         if not send_trackingNumber_message(order.get('order_id', ''), order.get('tracking_number', ''), order.get('remark', u'您的礼品正在快马加鞭赶来,请耐心等待呦~')):
               | 
            
| 851 | 852 | 
                             err_orders.append(order.get('order_id', ''))
               | 
            
| 852 | 853 | 
                 | 
            
                @@ -857,6 +858,7 @@ def member_goods_order_batch_update(request):  | 
            ||
| 857 | 858 | 
                 | 
            
| 858 | 859 | 
                return response(200, 'Member Goods Order Update Success', u'会员商品订单修改成功')  | 
            
| 859 | 860 | 
                 | 
            
| 861 | 
                +  | 
            |
| 860 | 862 | 
                def send_trackingNumber_message(order_id, tracking_number, remark):  | 
            
| 861 | 863 | 
                try:  | 
            
| 862 | 864 | 
                order = GoodsOrderInfo.objects.get(order_id=order_id, status=True)  | 
            
                @@ -864,7 +866,6 @@ def send_trackingNumber_message(order_id, tracking_number, remark):  | 
            ||
| 864 | 866 | 
                order.tracking_number = tracking_number  | 
            
| 865 | 867 | 
                if tracking_number and order.good_type == GoodsInfo.PHYSICAL and not order.has_send_template_message:  | 
            
| 866 | 868 | 
                order.has_send_template_message = True  | 
            
| 867 | 
                -  | 
            |
| 868 | 869 | 
                 | 
            
| 869 | 870 | 
                # 校验用户是否存在  | 
            
| 870 | 871 | 
                user = UserInfo.objects.get(user_id=order.user_id)  | 
            
                @@ -1134,6 +1135,7 @@ def member_activity_share_list(request):  | 
            ||
| 1134 | 1135 | 
                'total_integral': total_integral  | 
            
| 1135 | 1136 | 
                })  | 
            
| 1136 | 1137 | 
                 | 
            
| 1138 | 
                +  | 
            |
| 1137 | 1139 | 
                def member_activity_register_list(request):  | 
            
| 1138 | 1140 | 
                     brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
               | 
            
| 1139 | 1141 | 
                     admin_id = request.POST.get('admin_id', '')
               | 
            
                @@ -1161,6 +1163,7 @@ def member_activity_register_list(request):  | 
            ||
| 1161 | 1163 | 
                'left': left,  | 
            
| 1162 | 1164 | 
                })  | 
            
| 1163 | 1165 | 
                 | 
            
| 1166 | 
                +  | 
            |
| 1164 | 1167 | 
                def coupon_list(request):  | 
            
| 1165 | 1168 | 
                     brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
               | 
            
| 1166 | 1169 | 
                     admin_id = request.POST.get('admin_id', '')
               | 
            
                @@ -1564,33 +1567,33 @@ def complement_code_audit(request):  | 
            ||
| 1564 | 1567 | 
                 | 
            
| 1565 | 1568 | 
                try:  | 
            
| 1566 | 1569 | 
                user = UserInfo.objects.get(user_id=log.user_id, status=True)  | 
            
| 1567 | 
                - except:  | 
            |
| 1570 | 
                + except UserInfo.DoesNotExist:  | 
            |
| 1568 | 1571 | 
                return response()  | 
            
| 1569 | 
                -  | 
            |
| 1570 | 
                - # Send template_message  | 
            |
| 1572 | 
                +  | 
            |
| 1573 | 
                + # Send template_message  | 
            |
| 1571 | 1574 | 
                         data = {
               | 
            
| 1572 | 
                -                "first": {
               | 
            |
| 1573 | 
                - "value": u'你的补码申请已通过,请点击消息绑定您的电子保修卡',  | 
            |
| 1574 | 
                - "color": "#173177"  | 
            |
| 1575 | 
                - },  | 
            |
| 1576 | 
                -                "keyword1": {
               | 
            |
| 1577 | 
                - "value": log.name,  | 
            |
| 1578 | 
                - "color": "#173177"  | 
            |
| 1579 | 
                - },  | 
            |
| 1580 | 
                -                "keyword2": {
               | 
            |
| 1581 | 
                - "value": log.model_name,  | 
            |
| 1582 | 
                - "color": "#173177"  | 
            |
| 1583 | 
                - },  | 
            |
| 1584 | 
                -                "keyword3": {
               | 
            |
| 1585 | 
                - "value": log.sn,  | 
            |
| 1586 | 
                - "color": "#173177"  | 
            |
| 1587 | 
                - },  | 
            |
| 1588 | 
                -                "remark": {
               | 
            |
| 1589 | 
                - "value": u'感谢您的使用',  | 
            |
| 1590 | 
                - "color": "#173177"  | 
            |
| 1591 | 
                - }  | 
            |
| 1575 | 
                +            "first": {
               | 
            |
| 1576 | 
                + "value": u'你的补码申请已通过,请点击消息绑定您的电子保修卡',  | 
            |
| 1577 | 
                + "color": "#173177"  | 
            |
| 1578 | 
                + },  | 
            |
| 1579 | 
                +            "keyword1": {
               | 
            |
| 1580 | 
                + "value": log.name,  | 
            |
| 1581 | 
                + "color": "#173177"  | 
            |
| 1582 | 
                + },  | 
            |
| 1583 | 
                +            "keyword2": {
               | 
            |
| 1584 | 
                + "value": log.model_name,  | 
            |
| 1585 | 
                + "color": "#173177"  | 
            |
| 1586 | 
                + },  | 
            |
| 1587 | 
                +            "keyword3": {
               | 
            |
| 1588 | 
                + "value": log.sn,  | 
            |
| 1589 | 
                + "color": "#173177"  | 
            |
| 1590 | 
                + },  | 
            |
| 1591 | 
                +            "remark": {
               | 
            |
| 1592 | 
                + "value": u'感谢您的使用',  | 
            |
| 1593 | 
                + "color": "#173177"  | 
            |
| 1592 | 1594 | 
                }  | 
            
| 1593 | 
                -  | 
            |
| 1595 | 
                + }  | 
            |
| 1596 | 
                +  | 
            |
| 1594 | 1597 | 
                         wxcfg = WECHAT.get('MINIAPP', {})
               | 
            
| 1595 | 1598 | 
                         appid = wxcfg.get('appID')
               | 
            
| 1596 | 1599 | 
                 | 
            
                @@ -467,24 +467,24 @@ def activity_group_share(request):  | 
            ||
| 467 | 467 | 
                 | 
            
| 468 | 468 | 
                if not open_gid:  | 
            
| 469 | 469 | 
                return response()  | 
            
| 470 | 
                -  | 
            |
| 470 | 
                +  | 
            |
| 471 | 471 | 
                try:  | 
            
| 472 | 472 | 
                user = UserInfo.objects.get(user_id=share_user_id, status=True)  | 
            
| 473 | 
                - except:  | 
            |
| 473 | 
                + except UserInfo.DoesNotExist:  | 
            |
| 474 | 474 | 
                return response(UserStatusCode.USER_NOT_FOUND)  | 
            
| 475 | 475 | 
                 | 
            
| 476 | 476 | 
                try:  | 
            
| 477 | 477 | 
                act = MemberActivityInfo.objects.select_for_update().get(activity_id=activity_id, status=True)  | 
            
| 478 | 478 | 
                except MemberActivityInfo.DoesNotExist:  | 
            
| 479 | 479 | 
                return response(MemberActivityStatusCode.ACTIVITY_NOT_FOUND)  | 
            
| 480 | 
                -  | 
            |
| 480 | 
                +  | 
            |
| 481 | 481 | 
                isOffline = act.activity_state != 1 or act.final_state == '已结束'  | 
            
| 482 | 482 | 
                 | 
            
| 483 | 483 | 
                # 判断是否给积分 & 给多少积分  | 
            
| 484 | 484 | 
                is_integral, integral = get_group_share_info_integral(act.activity_id, share_user_id, open_gid, act.group_share_integral, act.group_share_max_integral)  | 
            
| 485 | 485 | 
                 | 
            
| 486 | 486 | 
                # 活动未结束,则给用户加积分  | 
            
| 487 | 
                -  | 
            |
| 487 | 
                +  | 
            |
| 488 | 488 | 
                if is_integral:  | 
            
| 489 | 489 | 
                         MemberActivityGroupShareInfo.objects.create(**{
               | 
            
| 490 | 490 | 
                'brand_id': act.brand_id,  | 
            
                @@ -65,7 +65,7 @@ class Command(CompatibilityBaseCommand):  | 
            ||
| 65 | 65 | 
                coupon_image=coupon.coupon_image,  | 
            
| 66 | 66 | 
                coupon_from='INTEGRAL_MALL',  | 
            
| 67 | 67 | 
                active_at=tc.utc_datetime(),  | 
            
| 68 | 
                - expire_at= tc.utc_datetime(days=coupon.coupon_valid_period) if coupon.coupon_expire_type == CouponInfo.CHANGED_EXPIRED_TIME else coupon.coupon_expire_at,  | 
            |
| 68 | 
                + expire_at=tc.utc_datetime(days=coupon.coupon_valid_period) if coupon.coupon_expire_type == CouponInfo.CHANGED_EXPIRED_TIME else coupon.coupon_expire_at,  | 
            |
| 69 | 69 | 
                coupon_valid_period=coupon.coupon_valid_period,  | 
            
| 70 | 70 | 
                coupon_limit_model_ids=coupon.coupon_limit_model_ids,  | 
            
| 71 | 71 | 
                is_coupon_admin_writeoff=coupon.is_coupon_admin_writeoff,  | 
            
                @@ -192,7 +192,6 @@ class GoodsOrderInfo(BaseModelMixin):  | 
            ||
| 192 | 192 | 
                @property  | 
            
| 193 | 193 | 
                def admindata(self):  | 
            
| 194 | 194 | 
                good = GoodsInfo.objects.get(good_id=self.good_id)  | 
            
| 195 | 
                - print self.send_template_message_res  | 
            |
| 196 | 195 | 
                         return {
               | 
            
| 197 | 196 | 
                'order_id': self.order_id,  | 
            
| 198 | 197 | 
                'good_id': self.good_id,  | 
            
                @@ -549,7 +548,7 @@ class MemberActivitySignupInfo(BaseModelMixin):  | 
            ||
| 549 | 548 | 
                 | 
            
| 550 | 549 | 
                def __unicode__(self):  | 
            
| 551 | 550 | 
                return '%d' % self.pk  | 
            
| 552 | 
                -  | 
            |
| 551 | 
                +  | 
            |
| 553 | 552 | 
                @property  | 
            
| 554 | 553 | 
                def admindata(self):  | 
            
| 555 | 554 | 
                         return {
               | 
            
                @@ -6,8 +6,8 @@ from django.conf import settings  | 
            ||
| 6 | 6 | 
                from django.db import transaction  | 
            
| 7 | 7 | 
                from django_curtail_uuid import CurtailUUID  | 
            
| 8 | 8 | 
                from django_logit import logit  | 
            
| 9 | 
                -from django_we.models import SubscribeUserInfo  | 
            |
| 10 | 9 | 
                from django_response import response  | 
            
| 10 | 
                +from django_we.models import SubscribeUserInfo  | 
            |
| 11 | 11 | 
                from ipaddr import client_ip  | 
            
| 12 | 12 | 
                from pywe_membercard import get_miniapp_extraData  | 
            
| 13 | 13 | 
                from pywe_miniapp import get_session_info, get_session_key, get_userinfo, store_session_key  | 
            
                @@ -89,10 +89,11 @@ def get_userinfo_api(request):  | 
            ||
| 89 | 89 | 
                 | 
            
| 90 | 90 | 
                try:  | 
            
| 91 | 91 | 
                         subscribe = SubscribeUserInfo.objects.get(unionid=userinfo.get('unionId', ''), status=True)
               | 
            
| 92 | 
                + except SubscribeUserInfo.DoesNotExist:  | 
            |
| 93 | 
                + subscribe = None  | 
            |
| 94 | 
                + if subscribe:  | 
            |
| 92 | 95 | 
                user.openid = subscribe.openid  | 
            
| 93 | 96 | 
                user.subscribe = True  | 
            
| 94 | 
                - except:  | 
            |
| 95 | 
                - pass  | 
            |
| 96 | 97 | 
                user.save()  | 
            
| 97 | 98 | 
                 | 
            
| 98 | 99 | 
                # Store Userinfo  | 
            
                @@ -166,10 +167,11 @@ def mini_login_api(request):  | 
            ||
| 166 | 167 | 
                user.unionid = unionid  | 
            
| 167 | 168 | 
                try:  | 
            
| 168 | 169 | 
                subscribe = SubscribeUserInfo.objects.get(unionid=unionid, status=True)  | 
            
| 170 | 
                + except SubscribeUserInfo.DoesNotExist:  | 
            |
| 171 | 
                + subscribe = None  | 
            |
| 172 | 
                + if subscribe:  | 
            |
| 169 | 173 | 
                user.openid = subscribe.openid  | 
            
| 170 | 174 | 
                user.subscribe = True  | 
            
| 171 | 
                - except:  | 
            |
| 172 | 
                - pass  | 
            |
| 173 | 175 | 
                 | 
            
| 174 | 176 | 
                # 同步销售员手机号  | 
            
| 175 | 177 | 
                try:  | 
            
                @@ -248,10 +250,11 @@ def get_userinfo_api2(request):  | 
            ||
| 248 | 250 | 
                     user.city = userinfo.get('city', '')
               | 
            
| 249 | 251 | 
                try:  | 
            
| 250 | 252 | 
                         subscribe = SubscribeUserInfo.objects.get(unionid=userinfo.get('unionId', ''), status=True)
               | 
            
| 253 | 
                + except SubscribeUserInfo.DoesNotExist:  | 
            |
| 254 | 
                + subscribe = None  | 
            |
| 255 | 
                + if subscribe:  | 
            |
| 251 | 256 | 
                user.openid = subscribe.openid  | 
            
| 252 | 257 | 
                user.subscribe = True  | 
            
| 253 | 
                - except:  | 
            |
| 254 | 
                - pass  | 
            |
| 255 | 258 | 
                user.save()  | 
            
| 256 | 259 | 
                 | 
            
| 257 | 260 | 
                # Store Userinfo  | 
            
                @@ -3,6 +3,7 @@  | 
            ||
| 3 | 3 | 
                from pywe_media import Media  | 
            
| 4 | 4 | 
                from pywe_membercard import MemberCard  | 
            
| 5 | 5 | 
                 | 
            
| 6 | 
                +  | 
            |
| 6 | 7 | 
                 WECHAT = {
               | 
            
| 7 | 8 | 
                     'JSAPI': {
               | 
            
| 8 | 9 | 
                'token': 'token',  |